Skip to content

Fix migration mojibake and broken links; report remaining link issues#19

Merged
HeyItsGilbert merged 2 commits into
mainfrom
claude/powershell-org-link-review-8au6ah
Jun 20, 2026
Merged

Fix migration mojibake and broken links; report remaining link issues#19
HeyItsGilbert merged 2 commits into
mainfrom
claude/powershell-org-link-review-8au6ah

Conversation

@HeyItsGilbert

Copy link
Copy Markdown
Member

Link & rendering review of PowerShell.org

I built the site locally with Hugo (v0.155.3 extended) and audited the full rendered output (4,377 HTML pages, ~7,450 distinct external URLs) plus the Markdown source for broken links and misrendered content. This PR fixes the two clear, mechanical issues and reports the rest below for a maintainer decision (the right fix is ambiguous).


✅ Fixed in this PR

1. Double-encoded UTF-8 "mojibake" across ~400 pages
During the WordPress → Hugo migration, non-breaking spaces and Latin-1 symbols were double-encoded, leaving a stray  before each character (byte pattern C3 82 C2 xx). This rendered as visible garbage on the live site, e.g.:

  • Azure runs Linux _just fine. _Huzzah!
  • PowerShell and PowerGUI®

The fix reverses the encoding by dropping the spurious C3 82 prefix, restoring the intended nbsp, ®, ·, «, ½, and µ. 7,939 sequences across 404 files, plus 7 isolated leftover  artifacts in podcast show notes. After the fix, zero  artifacts remain in the rendered HTML.

2. Malformed nested Markdown link (content/podcast/2023-11-06-...merrill-fernandos-toolbox...)
[akasearch.net]([http://akasearch.net](http://akasearch.net)) rendered with URL-encoded brackets. Corrected to a single clean link.


📋 Reported — needs a maintainer decision (not changed here)

3. Broken internal links to old WordPress sections that no longer exist
Reference-style links in ~10 historical articles point to paths that 404 on the new site. Targets are ambiguous (some content is simply gone), so I left them untouched:

Old path Suggested target Example file
/discuss/ https://forums.powershell.org? 2013-02-11-winter-scripting-camp-the-post-mortem.md
/newsletter/ (gone?) 2013-04-05-coming-tips-for-the-scripting-games.md
/games/ (Scripting Games retired) 2013-04-06-2013-scripting-games-mighty-panel-of-celebrity-judges.md
/people/, /members /authors/? 2013-04-15-changes-coming-to-powershell-org.md, 2018-10-24-powershell-org-site-status-update.md
/ebooks/, /videos/ (gone?) 2016-06-24-heres-what-youve-missed...md
/wp/newsletter (gone?) 2013-07-23-techsessions-free-powershell-webinars.md

Note: some of these reference definitions also have mismatched link titles (e.g. [1]: /newsletter/ "PowerShell Script that Relaunches as Admin"), suggesting the migration tool collapsed several distinct URLs onto one wrong target.

4. Broken relative links in content/articles/2019-06-14-universal-dashboard-templates-...md: […](the-why) and […](the-how) resolve to nonexistent pages — they were likely in-page anchors in the original.

5. Scheme-less / malformed links rendered as relative:

  • twitter.com/jeffhicks (no https://) in 2013-04-22-meet-the-scripting-games-judges-jeffery-hicks.md and 2013-02-16-phillyposh-...md.

6. Two pages drop content as "raw HTML omitted" (Hugo markup.goldmark.renderer.unsafe: false):

  • content/podcast/2013-08-14-episode-238-...scriptcs.md — the IRC chat log uses <nickname> angle brackets, so those lines are stripped from the page.

  • content/articles/2011-05-18-configuring-rbac-for-mobileshell-...md — an embedded <?xml?> block and HTML comments are dropped.

    Recommended fix: escape the angle brackets (or wrap the IRC log in a fenced code block) rather than enabling unsafe globally.


Verification

  • hugo --gc --minify builds cleanly (only the two pre-existing "raw HTML omitted" warnings remain, item 6 above).
  • Diff is purely character-level: 405 files, balanced 3,018/3,018 line modifications, no content added or removed.

🤖 Generated with Claude Code


Generated by Claude Code

Repair double-encoded UTF-8 artifacts introduced during the WordPress
migration. Non-breaking spaces and Latin-1 symbols were double-encoded,
producing a stray "Â" before each character (byte sequence C3 82 C2 xx)
that rendered as visible garbage across ~400 pages. Reverse the encoding
by dropping the spurious C3 82 prefix, restoring nbsp, ®, ·, «, ½, and µ.
Also remove 7 isolated leftover "Â" artifacts in podcast show notes.

Fix a malformed nested Markdown link on the 2023-11-06 podcast episode
(akasearch.net) that rendered with URL-encoded brackets.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QWdScrWP32GB7vZBjx87Jd
@netlify

netlify Bot commented Jun 20, 2026

Copy link
Copy Markdown

Deploy Preview for powershellorg ready!

Name Link
🔨 Latest commit 2a7b455
🔍 Latest deploy log https://app.netlify.com/projects/powershellorg/deploys/6a360522b489a4000810519d
😎 Deploy Preview https://deploy-preview-19--powershellorg.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

These are local build tooling artifacts from installing hugo-extended via
npm to render and audit the site; they should not be tracked.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QWdScrWP32GB7vZBjx87Jd

@therealgill therealgill left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spot checked, Appears to be fine

@HeyItsGilbert HeyItsGilbert merged commit 361267a into main Jun 20, 2026
5 checks passed
@HeyItsGilbert HeyItsGilbert deleted the claude/powershell-org-link-review-8au6ah branch June 20, 2026 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants